package com.suke.czx.modules.incentive.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.suke.czx.common.validate.IncentiveAllocateGroup;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 应用模块名称: 绩效
 * 代码描述: 绩效分配实体
 * copyright: AUZAR ALL RIGHTS RESERVED
 * company: AUZAR
 *
 * @author: 颜米晨
 * @date: 2022/07/31 16:37
 */
@Data
public class IncentiveAllocation implements Serializable {

    private static final long serialVersionUID = -6351081239984273082L;

    /**
     * 绩效id
     */
    @TableId(value = "incentive_id", type = IdType.AUTO)
    public Long incentiveId;

    /**
     * 项目id
     */
    @NotNull(groups = {IncentiveAllocateGroup.class}, message = "项目id不能为空")
    public Long projectId;

    /**
     * 岗位二类(1-专职业务员,2-兼职业务员,3-项目经理,4-策划组,5-UI设计&动效创意组,6-程序组,7-内容组,8-硬件开发组,9-行政,10-项目组)
     */
    @NotNull(groups = {IncentiveAllocateGroup.class}, message = "岗位二类不能为空")
    public Integer job2;

    /**
     * 绩效参数id
     */
    @NotNull(groups = {IncentiveAllocateGroup.class}, message = "绩效参数id不能为空")
    public Long performanceConfigId;

    /**
     * 用户id
     */
    @NotNull(groups = {IncentiveAllocateGroup.class}, message = "员工id不能为空")
    public Long userId;

    /**
     * 分配比列(绩效类目下的比例)
     */
    @NotNull(groups = {IncentiveAllocateGroup.class}, message = "分配比例不能为空")
    public BigDecimal rate;

    /**
     * 生成时间
     */
    public Date generateTime;

    /**
     * 备注
     */
    public String note;

    /**
     * 删除标记 0:删除 1:正常
     */
    public Integer del;

    /**
     * 创建者id
     */
    public Long creator;

    /**
     * 创建时间
     */
    public Date createTime;

    /**
     * 更新者id
     */
    public Long updater;

    /**
     * 更新时间
     */
    public Date updateTime;

}